草庐IT

MySQL ORDER BY 多列 ASC 和 DESC

全部标签

mysql - 为什么 MySQL 多列索引会过载?

考虑以下MySQL表:CREATETABLE`log`(`what`enum('add','edit','remove')CHARACTERSETasciiCOLLATEascii_binNOTNULL,`with`int(10)unsignedNOTNULL,KEY`with_what`(`with`,`what`))ENGINE=InnoDB;INSERTINTO`log`(`what`,`with`)VALUES('add',1),('edit',1),('add',2),('remove',2);据我了解,with_what索引在其第一个with级别上必须有2个唯一条目,在wh

php - 按 DESC 和 ASC 对搜索结果进行排序

在searchresults.php中当我选择“PriceAscending”时,它可以正常工作,但会将所有属性加载到页面上。例如,当我搜索亚利桑那州然后从选择中选择“价格递增”时,它不会在亚利桑那州订购属性,它会在页面上加载所有属性,然后按“价格递增”排序。谢谢你可以在sedefemlak.com上看到直播搜索结果.php/?page_id=">OrderDateDescendingDateAscendingPriceDescendingPriceAscendingRandomsearch_query.phpif($resultsorder){//getvaluefromorderd

mysql - 比较具有和不具有 NULL 值的多列

5,不知道我做错了什么,请帮忙。正如在多列比较查询中找到最小值一样,NULL继续显示为结果而不是最小值SELECTIF(col1ISNULLORcol2ISNULLORcol3ISNULLORcol4ISNULLORcol5ISNULL,COALESCE(col1,col2,col3,col4,col5),LEAST(col1,col2,col3,col4,col5))AsResultantfromdb.tablenameGroupbyId;或者尝试了CASEselect但没有成功。谢谢 最佳答案 如果null被认为是0select

php - Mysql Innodb 不返回 select with desc order 的最后一行

我们有如下表方案:CREATETABLEIFNOTEXISTS`offers`(`id`int(11)NOTNULLAUTO_INCREMENT,`campaign_id`int(11)NOTNULL,`user_id`int(11)NOTNULL,`price`doubleNOTNULL,`ip`varchar(15)NOTNULL,`cdate`int(11)NOTNULL,PRIMARYKEY(`id`),KEY`campaign_id`(`campaign_id`,`price`))ENGINE=InnoDBDEFAULTCHARSET=latin5AUTO_INCREMENT

MySQL显示多列的排名

我的表格看起来像这样:NameHeightWeightJim60150Tom62170Mac64160我想找到一个返回如下内容的查询:NameHeightWeightHeight_RankWeight_RankJim6015033Tom6217021Mac6416012如上所述,显示多列排名的最佳方式是什么?我可以使用orderby来查找单个列的排名,但我希望在单个表中拥有多个列的排名。谢谢!编辑:下面的答案是一个很好的解决方案。但是,如果您对数千行进行排名,您可能会遇到另一个问题。“group_concat”的最大长度为1024字节。您可以通过运行“SETSESSIONgroup_c

php - 我如何在 yii 2 中按 where id =5 desc 执行命令

Customer::find()->where(['','customer_id','7'])->all()目前,上面的代码允许我找到所有客户ID不是7的客户。现在,我想找到所有wherecustomer_idisnot7orderbycustomerid=5desc我知道我可以在mysql中使用:SELECT*FROMmydatabase.customer_idwherecustomer_id7orderbycustomer_id=5desc;但是我如何使用yii2做到这一点? 最佳答案 你也可以使用事件记录:Customer::

MySQL在多列中选择最大值

我有一个按日期列出股票价格的表格,我想选择最接近多个日期的值。例如,给我最接近今天、1个月前和2个月前的价格。我可以在单独的语句中完成,是否可以在单个语句中完成?在下面,我想返回最接近2/7、1/7和d12/7日期的第1、2和6行(最好使用abs()来这样做?).+---+------------+---------+----------------+----------------+----------------+|d|quotedate|price|2018-02-07diff|2018-01-07diff|2017-12-07diff|+---+------------+---

MySQL 对多列至少共享一个值的行进行分组

考虑下表:CREATETABLE`customer_identifiers`(`id`int(11)NOTNULLAUTO_INCREMENT,`order_id`varchar(45)DEFAULTNULL,`email`varchar(45)DEFAULTNULL,`phone`varchar(45)DEFAULTNULL,`created_at`timestampNULLDEFAULTCURRENT_TIMESTAMP,`updated_at`timestampNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,PRIMAR

mysql - MySQL中的多列主键是优化问题吗?

一直在研究使用多列主键,并且由于性能对于流量和数据库的大小非常重要,所以在我开始在我的许多表上放弃唯一ID方法之前,我需要知道是否有什么需要考虑的开始使用多列主键。那么,使用多列主键与基本的单列、auto-inc主键相比,在性能/优化方面的优缺点是什么? 最佳答案 您是否有特殊原因需要/想要使用多列键而不是(我假设)已经创建的单列键?NaturalKeys的问题之一正在处理对所有外键的键值进行级联更新。诸如自动增量列之类的代理键可以避免这种情况。在性能方面,根据行数、列的数据类型、存储引擎以及专用于MySQL的RAM量,多列键可能会

MySQL:唯一约束多列性能优化

我在多个问题上看到大量关于独特约束的问题,但没有一个与我特别寻找的相符。如果这是一个副本,我很抱歉。我有一张table:表A_id表B_id我的主键是两个表的唯一约束,并且我在两个列上都有一个索引。两者也是它们受尊重的表的主键。如果表A可能有10,000,000行,而表B有2,000,000行,则表B受此约束的次数可能要少得多。令人难过的是,当我制定唯一约束将TableB作为第一列时,它是否更优化,因为要搜索的东西更少,TableA(如果是这样,为什么),或者它没有区别,因为它不先搜索一个然后另一个,一个一个地看。提前致谢 最佳答案